1. Field of the Invention
The present invention relates generally to communications over packet networks. More particularly, the present invention relates to detecting facsimile communication during a voice over Internet Protocol (“VoIP”) session.
2. Related Art
In recent years, packet-based networks, such as the Internet, have begun to replace the traditional analog telephone networks for transportation of voice and data. For example, with the emergence of VoIP, telephone conversations may now be captured, packetized and transported over the Internet. In a conventional VoIP system, telephone conversations or analog voice may be transported over the local loop or the public switched telephone network (“PSTN”) to the central office (“CO”). From the CO, the analog voice is transported to a gateway device at the edge of the packet-based network. The gateway device converts the analog voice or speech to packetized data using a codec (coder/decoder), according to one of various existing protocols, such as G.729, G.711, G.723.1, etc. Next, the packetized data is transmitted over the Internet using the Internet Protocol for reception by a remote gateway device and conversion back to analog voice.
Today, many have diverted their focus to using the existing packet-based network and gateway devices, which have been designed to support the transportation of analog voice or speech over IP, to further support facsimile communication over IP, or as it is referred to in the industry, Facsimile over Internet Protocol (“FoIP”). FIG. 1 illustrates a block diagram of a conventional communication model for FoIP based on a packet-based network, such as the Internet. As shown, communication model 100 includes first facsimile device 110 in communication with first gateway device 120 over PSTN providing transmit and receive channels 112 and 114. Communication model 100 further includes second facsimile device 150 in communication with second gateway device 140 over PSTN providing transmit and receive channels 144 and 142. Communication model 100 enables communications between first gateway device 120 and second gateway device 140 via packet network 130 utilizing the Internet Protocol. The Internet Protocol implements the network layer (layer 3) of a network protocol, which contains a network address and is used to route a message to a different network or subnetwork. The Internet Protocol further accepts packets from the layer 4 transport protocol, such as Transmission Control Protocol (“TCP”) or User Data Protocol (“UDP”), and adds its own header and delivers the data to the layer 2 data link protocol. TCP provides transport functions, which ensures that the total amount of bytes sent is received correctly at the other end. UDP, which is part of the TCP/IP suite, is an alternate transport that does not guarantee delivery and it is widely used for real-time voice and video transmissions where erroneous packets are not retransmitted. Voice packets may be transmitted as RTP (Transport Protocol for Real-Time Applications) packets, within UDP packets. RTP is described in the Network Working Group, Request for Comments (“RFC”): 1889, Audio-Video Transport Working Group, by Schulzrinne, et al. (January 1996), which is hereby incorporated by reference.
Conventionally, the communication process for FoIP begins when first facsimile device (“F1”) 110 calls first gateway device (“G1”) 120. As a result, G1 120 calls second gateway device (“G2”) 140, and G2 140 in turn calls second facsimile device (“F2”) 150. In order to support VoIP in their default mode of operation, typically, G1 120 and G2 140 communicate in voice mode and are configured to use a compressed voice protocol, such as the ITU standard G.723.1, G.711, etc. However, after F1 110 initiates the call, F1 110 begins to periodically transmit a facsimile calling tone, such as a tone with a frequency of 1,100 Hz, which is on for 0.5 second and off for 3 seconds. Upon detection and confirmation of the calling tone by G1 120, G1 120 informs G2 140 of the detection of a facsimile device, i.e. F1 110. At this point, G1 120 and G2 140 switch from voice mode (which is the default mode of operation, such as G.723.1, G.711, or the like) to facsimile mode of operation. In the facsimile mode of operation, G1 120 configures itself to communicate with F1 110, as a facsimile device. For example, G1 120 may support various facsimile modulations, such as ITU-T V.21 Channel 2, V.27ter, V.29, V.17, V.34, etc. As a result, G1 120 can negotiate an appropriate facsimile protocol with F1 110 and demodulate facsimile signals from F1 110 for transmission over packet network 130.
Further, G1 120 also configures itself to transmit the demodulated facsimile signals to G2 140 over packet network using a facsimile protocol over packet network, such as ITU-T T.38, which is described in the International Telecommunication Union publication, entitled “Procedures for Real-Time Group 3 Facsimile Communication Over IP Networks”, dated June 1998, which is hereby incorporated by reference. As a result, rather than RTP packets—which are used to transport voice packets in the voice mode of operation—, UDPTL (User Datagram Protocol Transport Layer) packets are transported within UDP packets. UDPTL is a transport layer that is used on top of UDP to makes the delivery of packets more reliable by providing data redundancy.
Similar to G1 120, G2 140 also configures itself to communicate with G1 120 over packet network 130 according to the ITU-T T.38, and further to communicate with F2 150 using an appropriate facsimile protocol to modulate facsimile data from G1 120 for transmission to F2 150.
A key step in achieving the above-described communication link through G1 120 and G2 140 relies upon G1 120 notifying G2 140 of the detection of a facsimile device, such that both G1 120 and G2 140 timely switch from voice mode to facsimile mode. In the event that G2 140 fails to properly receive such facsimile notification from G1 120, G2 140 continues to remain in voice mode and the facsimile link will not be established.
Today, G1 120 transmits such facsimile notification to G2 140 through signaling channels, such as H.323, SIP or MEGACO. However, these signaling channels are proprietary and may not be supported by G2 140, unless both G1 120 and G2 140 are from the same manufacturer. As a result, the facsimile notifications may not be recognized by G2 140, which will lead to facsimile link failures.
Accordingly, there is a strong need in the art for reliable detection of facsimile communications over the packet network in order to avoid such facsimile link failures.